using Com.Core.Module.Abstractions;
using Com.Modules.StandardModule.Repositories.Abstractions;
using Com.Modules.StandardModule.Repositories.Implementations;
using Com.Modules.StandardModule.Services.Abstractions;
using Com.Modules.StandardModule.Services.Implementations;

namespace Com.Modules.StandardModule;

public class StandardModule : IModule
{
    public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
    {
        // 注册公共服务（根据实际需要添加）
        services.AddScoped<IExampleService, ExampleService>();
        
        // 注册内部组件（根据实际需要添加）
        services.AddScoped<IExampleRepository, ExampleRepository>();
        
        // 配置模块专属选项
        // services.Configure<StandardOptions>(configuration.GetSection("Standard"));
    }

    public void Configure(IApplicationBuilder app)
    {
        // 配置模块中间件（根据实际需要添加）
        // app.UseMiddleware<StandardMiddleware>();
        
        // 配置模块路由（根据实际需要添加）
        // app.UseEndpoints(endpoints => 
        // {
        //     endpoints.MapAreaControllerRoute(
        //         name: "standardArea",
        //         areaName: "Standard",
        //         pattern: "standard/{controller=Home}/{action=Index}/{id?}");
        // });
    }
} 